"""
用函数实现：
接收用户输入的一个数字（关键字参数方式传入函数内），输出该数字的乘法表，数字大于99则提示输入数字过大
注意字符串格式化输出的使用，控制每一列的宽度为11，左对齐
两个函数，一个用于打印乘法表，一个用于获取用户输入的数字并判断其合法性
"""


def get_input():
    """
    获取用户输入的数字，判断其合法性
    如果合法则返回，否则提示用户重新输入
    循环到用户输入合法为止
    :return: 返回值为用户输入的数字
    """
    while True:
        try:
            num = int(input("请输入一个数字: "))
            if num > 99:
                print("输入数字过大，请重新输入")
                continue
            return num
        except ValueError:
            print("输入不合法，请输入整数，重新输入")


def print_table(num):
    """
    打印乘法表
    """
    for i in range(1, num + 1):
        for j in range(1, num + 1):
            result = i * j
            print(f"{i}*{j}={result:<11}", end="")
        print()


if __name__ == '__main__':
    num = get_input()
    print_table(num=num)

